EGEsoll - сборник решений задач из ЕГЭ

Задача 6 поиск ряда и места

Организация купила для своих сотрудников все места в нескольких подряд идущих рядах на концертной площадке. Известно, какие места уже распределены между сотрудниками. Найдите ряд с наибольшим номером, в котором есть два соседних места, таких что слева и справа от них в том же ряду места уже распределены (заняты). Гарантируется, что есть хотя бы один ряд, удовлетворяющий условию. В ответе запишите два целых числа: номер ряда и наименьший номер места из найденных в этом ряду подходящих пар.

В первой строке входного файла находится одно число: N — количество занятых мест (натуральное число, не превышающее 10000). В следующих N строках находятся пары чисел: ряд и место выкупленного билета (числа не превышают 100000).

В ответе запишите два целых числа: сначала максимальный номер ряда, где нашлись обозначенные в задаче места и минимальный номер места.

Download File 1

Добавлено: 17.04.26 21:08

Перейти к решению

Решение

Приведём программу на Python:

f = open("embed.txt")
N = f.readline()
a = []
for line in f.readlines():
    a.append(list(map(int, line.split())))
a = sorted(a, key=lambda item: item[0] * 2**15 + item[1])
for i in range(len(a) - 1):
    if a[i][0] == a[i + 1][0] and a[i][1] + 3 == a[i + 1][1]:
        print(a[i], a[i + 1])

Результат работы программы:

[2639, 2868] [2639, 2871]
[2949, 3632] [2949, 3635]
[3109, 2020] [3109, 2023]
[8297, 9644] [8297, 9647]
[8631, 7310] [8631, 7313]

Заметим, что самый большой ряд - 8631. Между занятыми местами есть два пустых места. Следовательно, наименьший номер места 7311.

Ответ: 8631 7311

Автор - rubygem17

Объяснение

None

Назад